Voice communications have become an important factor in increasing the productivity of modern day business concerns. Newly developed voice communications systems, including voice messaging and call delivery systems, have resulted in the efficient transfer of information and reduced needless paperwork. These systems have expanded greatly in scope, providing more services and increasing number of users. As the number of services and users has increased, the complexity of providing these services in real-time has similarly increased.
A voice services system must be able to perform certain functions. First, the voice services system must interact with the telephone system, being able to produce the proper signals to interface with the telecommunications network to which it is attached. Second, it must maintain many databases related to its users and services. For example, billing information, user profiles and voice messages must all be maintained. Third, an interface to the user must be provided.
As voice communications has developed, the need to update and enhance features has similarly increased. Present day voice messaging systems are programmed using binary files (object code) which depend upon the specific hardware used in the system. This architecture provides two problems. First, updating and enhancing the code is a tedious process requiring many man-hours. Second, the code is not portable and therefore, as the hardware is modified or enhanced, the code must be revised or rewritten.
Therefore, a need has arisen in the industry for a voice services system which uses easily modifiable, portable code.